Nama Mahasiswa : Rahmat Riansyah
NIM : A3202300029
Deskripsi : Tujuan analisis untuk memahami pola dan
hubungan dalam data Angka Harapan Hidup, Pendapatan per Kapita, dan
faktor-faktor lainnya Melalui Pendekatan Univariate, Bivariatif,
Multivariate, dan Interaktif.
Sebelum membuat sebuah program di dalam R Markdown kita harus memperhatikan beberapa yang perlu kita persiapkan untuk menunjang isi data beserta visualisasinya.
Hal pertama yang perlu dipersiapkan adalah dengan memanggil beberapa library yang di butuhkan yaitu dengan menginstal di menu Packages dan cara memanggilnya seperti berikut.
library(ggplot2)
library(readr)
library(readxl)
library(gapminder)
library(reshape2)
library(gganimate)
library(plotly)##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
Selain Library kita juga perlu memanggil Data yang akan kita gunakan dalam pembuatan visualisasi tersebut.Untuk tugas kali ini karena kita menggunakan data Excel dapat mengikuti kode dibawah ini.
Setelah memanggil data yang akan kita gunakan selanjutnya menentukan grafik apa yang akan kita buat secara berbeda.Dari ujian tersebut terdapat 4 minimal visualisasi data seperti berikut:
Grafik univariate digunakan untuk menganalisis distribusi satu variabel tunggal. Grafik ini membantu dalam memahami pola, sebaran, dan karakteristik dari data yang dianalisis.
# Kode untuk histogram dengan palet warna
ggplot(Data, aes(x = Angka_Harapan_Hidup)) +
geom_histogram(binwidth = 5, fill = brewer.pal(3, "Blues")[2], color = "black") +
labs(title = "Histogram Angka Harapan Hidup",
x = "Angka Harapan Hidup",
y = "Frekuensi") +
theme_minimal(base_size = 15) + # Mengubah ukuran font dasar
theme(plot.title = element_text(hjust = 0.5)) # Memusatkan judulGrafik bivariatif digunakan untuk menganalisis hubungan antara dua variabel. Grafik ini membantu dalam mengidentifikasi pola, tren, dan korelasi antara kedua variabel.
# Kode untuk scatter plot dengan transparansi dan ukuran titik
ggplot(Data, aes(x = Pendapatan_per_kapita, y = Angka_Harapan_Hidup)) +
geom_point(color = "#00bfff", fill = "#000080", size = 1, alpha = 0.7) + # Mengubah warna dan menambahkan transparansi
labs(title = "Pendapatan per Kapita vs Angka Harapan Hidup",
x = "Pendapatan per Kapita",
y = "Angka Harapan Hidup") +
theme_minimal(base_size = 15) + # Mengubah ukuran font dasar
theme(plot.title = element_text(hjust = 0.5)) # Memusatkan judulGrafik multivariate digunakan untuk menganalisis hubungan antara lebih dari dua variabel. Grafik ini membantu dalam memahami interaksi dan pola yang lebih kompleks dalam data.
# Memastikan library yang diperlukan sudah di-load
library(ggplot2)
library(reshape2)
library(readxl)
# Membaca dataset
Data <- read_excel("Data.xlsx")
# Memeriksa nama kolom
colnames(Data)## [1] "geo" "Negara" "Benua"
## [4] "Tahun" "Angka_Harapan_Hidup" "Pendapatan_per_kapita"
## [7] "Populasi" "Jumlah_anak"
# Menghapus spasi di sekitar nama kolom (jika ada)
colnames(Data) <- trimws(colnames(Data))
# Menghitung rata-rata Angka Harapan Hidup berdasarkan Benua dan Tahun
Data_summary <- aggregate(Angka_Harapan_Hidup ~ Benua + Tahun, data = Data, FUN = mean)
# Mengubah data menjadi format matriks
Data_matrix <- dcast(Data_summary, Benua ~ Tahun, value.var = "Angka_Harapan_Hidup")
# Mengubah data matriks menjadi format panjang (long format) untuk ggplot
Data_long <- melt(Data_matrix, id.vars = "Benua", variable.name = "Tahun", value.name = "Angka_Harapan_Hidup")
# Mengonversi kolom Tahun menjadi numerik
Data_long$Tahun <- as.numeric(as.character(Data_long$Tahun))
# Membuat heatmap dengan palet warna yang lebih menarik
ggplot(Data_long, aes(x = Tahun, y = Benua, fill = Angka_Harapan_Hidup)) +
geom_tile() +
scale_fill_gradientn(colors = brewer.pal(9, "YlGnBu"), # Menggunakan palet warna dari RColorBrewer
name = "Angka Harapan Hidup") +
labs(title = "Heatmap Angka Harapan Hidup per Benua dan Tahun",
x = "Tahun",
y = "Benua") +
scale_x_continuous(breaks = seq(min(Data_long$Tahun),
max(Data_long$Tahun),
by = 30)) + # Mengatur label setiap 20 tahun
theme_minimal(base_size = 13) + # Mengubah ukuran font dasar
theme(plot.title = element_text(hjust = 0.5)) # Memusatkan judulGrafik interaktif memungkinkan pengguna untuk berinteraksi dengan data secara langsung. Ini memberikan pengalaman yang lebih mendalam dan memungkinkan eksplorasi data yang lebih fleksibel.
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Kode untuk grafik interaktif dengan animasi
plot_ly(Data,
x = ~Pendapatan_per_kapita,
y = ~Angka_Harapan_Hidup,
type = 'scatter',
mode = 'markers',
marker = list(color = 'rgba(0, 123, 255, 0.8)', size = 10), # Mengubah warna titik
frame = ~Tahun, # Menambahkan frame untuk animasi berdasarkan tahun
ids = ~Negara) %>% # Menggunakan ID unik untuk setiap titik
layout(title = "Interaktif: Pendapatan per Kapita vs Angka Harapan Hidup",
xaxis = list(title = "Pendapatan per Kapita"),
yaxis = list(title = "Angka Harapan Hidup")) %>%
animation_opts(frame = 100, redraw = TRUE) %>% # Mengatur kecepatan animasi
animation_slider(currentvalue = list(prefix = "Tahun: ")) # Menambahkan slider untuk tahunBerdasarkan visualisasi yang telah dilakukan, dapat disimpulkan bahwa: